#include <stdio.h>
/*
 author: maxiao
 date: 2023-04-06 21:06
 description: 测试浮点数的存储
*/


int main()
{
    int a = 9;
    // 浮点数的存储形式均可写成 (-1)^S * M * 2^E 形式
    // 对于单精度浮点数来说，S用以控制正负，占用1位；M为一个不小于1但小于2的数，占8位；E为2的次方幂，占23位
    // 对于双精度浮点数来说，S占1位；M占11位；E占52位
    float b = 9.0;
    // 强制转换
    int *ip = (int*)&b;
    float* fp = (float*)&a;
    printf("a=%d\n", a);
    printf("*fp=%lf\n", *fp);
    printf("------------\n");
    printf("*ip=%d\n", *ip);
    printf("b=%lf\n", b);
    return 0;
}
